JSDoc + .d.tsでよくね?
前編: JSDocでよくね?
from: 2025/10/01
綾坂こと.icon
最近JSRに自分が作ったものを登録しはじめた
そこで自動生成ドキュメントに型を認識させるために.d.tsが必要だったので書いたらこれが思ったより良かった
ので、JSDoc + d.tsがいいのではという気持ちになってきている
昔は別ファイルに情報が書かれているのを嫌っていた(JSDocでよくね?#66ebbfa073e522000010bcb6)が、別にこれでもいいか……となりはじめた
やっぱりコード中に型を書く理由はわからない
code:script.ts
const add = (a: number, b: number): number => a + b;
↑なんでこんなところにnumberを書いちゃうんですか
code:ts
// script.js
const add = (a, b) => a + b;
// declare.d.ts
declare const add: (a: number, b: number) => number;
↑ロジックと型が分離されている方が見やすい……と私は思っている
関心の分離……?(ちょっと違うきがする)
なんとかなってほしいところはまだある
.(m)jsから.d.tsを読む設定の方法が統一されていない
Triple-slash directives/// <reference path="path/to/declare.d.ts" />はJSRが対応してない
@ts-self-types/* @ts-self-types="path/to/declare.d.ts" */は非Deno環境が対応してない
Node.jsを捨てればいい話ではあるかも
もしかして:Node.jsから逃げる遊び
逆にd.tsに型以外の情報を書きたくない
JSR、JSDocとd.tsの両方がある場合はd.tsしか見ないっぽくてd.tsにJSDocを書く羽目になっている
d.tsには型だけ書かせてくれよ
いっそロジック・型・説明をそれぞれ分離するのがいいのでは?